import request from '../request';
import type {LoginParams, LoginResponse, UserInfoResponse} from "@/types/api.ts"; // 导入封装后的 Axios 实例

// 用户相关接口
const userApi = {
  // 登录（POST 请求，传参为对象）
  login: (data:LoginParams) => request({
    url: '/user/login',
    method: 'POST',
    data // 后端需要的参数（如 username、password）
  }),

  // 获取用户信息（GET 请求，传参为 URL 参数）
  getUserInfo: (params:UserInfoResponse) => request({
    url: '/user/info',
    method: 'GET',
    params // 如 { userId: 123 }
  }),

  // 编辑用户信息（PUT 请求）
  editUser: (data:LoginResponse) => request({
    url: '/user/edit',
    method: 'PUT',
    data
  }),

  // 上传头像（FormData 格式，用于文件上传）
  uploadAvatar: (file:LoginResponse) => request({
    url: '/user/upload-avatar',
    method: 'POST',
    data: file, // file 是 FormData 对象（new FormData().append('file', file)）
    headers: {
      'Content-Type': 'multipart/form-data' // 覆盖默认的 json 头
    }
  })
};

export default userApi;